Home

Forum

Windows

Linux

Android

Sicurezza

Guida mercato

TLI Essentials

Manifesto

Consigli/problemi?

Facebook

Twitter

Feed

Ora disponibile: Windows 10 Fall Creators Update (1709)

Per favore, aggiungi TurboLab.it alle eccezioni del tuo Ad Blocker. Siamo un progetto no-profit, e la pubblicità è indispensabile per pagare le spese. Grazie per il tuo "unblock"!

» Approfondisci: TurboLab.it: il nostro piano per la sostenibilità economica

In ogni caso, rispettiamo la tua scelta: se deciderai di non sbloccarci, potrai comunque utilizzare il sito senza alcuna limitazione.

Nascondi avviso per 3 giorni

Home  »   windows • controllo remoto • reti   »   Articolo

Guida a PsExec - Lanciare comandi su PC di rete senza installare nulla

a cura di
Zane
| 00:00:00 del 27/11/2014 | visitato volte BOZZA

Questo articolo è stato scritto mesi fa!

Sebbene questo non implichi automaticamente che si tratti di un pezzo obsoleto, è probabile che, nel frattempo, le specificità e il contesto si siano evoluti. Se rilevi incongruenze, lascia un commento per evidenziare all'autore dell'articolo che è necessario un aggiornamento.

Stai leggendo un articolo su Microsoft Windows

Per tutti gli articoli e le guide che riguardano il più popolare sistema operativo per PC, sfoglia il "Canale Windows".

Nascondi avviso per 3 giorni

Scarica PSTools

I file che scarichi da TurboLab.it sono archivi Zip. Puoi estrarli con un gestore come 7-Zip.

PsExec è un comodo software gratuito che consente di eseguire comandi ed aprire programmi sui PC della rete locale (LAN) senza bisogno né alzarsi dalla sedia, né di installare preventivamente alcunché sulla destinazione. Praticissimo per i power user, si rivela un piccolo gioiello per gli amministratori di sistema in ambienti professionali

Ma non basta VNC?

Le soluzioni di controllo remoto (come VNC o Desktop Remoto) sono molto utili per lavorare sul PC principale quando siamo fuori sede. Gli amanti dell'automazione e dello scripting sanno però che si tratta di soluzioni interattive: se la necessità è di eseguire un comando su di un altro sistema, tale approccio è estremamente scomodo... in particolare se si cerca un modo per lanciare uno script di manutenzione oppure l'installazione di un aggiornamento su decine di PC contemporaneamente!

PsExec, se vogliamo tralasciare alcuni dettagli tecnici, è una sorta di SSH altamente semplificato per il mondo Microsoft. È compatibile con tutte le versioni del sistema operativo a finestre, da Windows XP fino a Windows 8.1, passando per le declinazioni "server" e quelle a 64 bit. In più è gratis, anche per uso professionale, e sicuro, dato che i comandi vengono crittografati prima d'esser inviati.

Requisiti e verifiche preliminari

Ci sono un paio di condizioni che devono essere soddisfatte prima di poter utilizzare lo strumento:

I due PC devono "vedersi" in rete, ed essere in grado di scambiare file e condividere cartelle

Dovete essere in possesso delle credenziali d'accesso (nome utente e password dell'account) del PC remoto

L'account remoto che intendete utilizzare deve essere protetto da password

Tale account deve essere dotato dei privilegi di amministratore

Il PC a cui si accede fisicamente deve essere in grado di raggiungere la condivisione amministrativa ADMIN$ sul calcolatore remoto (non è così di default) ll modo più semplice per verificarlo è aprire il percorso \\NomeComputerRemoto\admin$ e fornire le opportune credenziali. In caso si venisse accolti dall'errore Accesso negato, si veda "Guida: ri-abilitare le condivisioni amministrative (admin$, c$) di Windows" prima di proseguire

Predisporre tutto il necessario

Una volta che i pre-requisiti sono soddisfatti, scaricare il pacchetto "PsTools" (di cui PsExec fa parte) e scompattare PsExec.exe in una directory a piacere: per semplificare notevolmente le fasi successive, raccomando di copiare l'eseguibile nella cartella C:\Windows, ma non è un requisito: così facendo, potrete impartire direttamente psexec.exe senza dover anteporre l'intero percorso di directory per raggiungerlo

A questo punto siamo pronti: cercate cmd nella schermata Start e avviate Prompt dei comandi. Impartite quindi semplicemente psexec. Dopo aver accettato la licenza d'uso (proposta solo al primo avvio), dovreste ottenere una videata di riepilogo con tutti i parametri previsti

Così non fosse, vi raccomando nuovamente di copiare il file PsExec.exe nella directory C:\Windows e riprovare.

Eseguire un comando sul PC Windows in rete

Arrivati a questo punto, siamo pronti a lanciare il primo comando sul sistema remoto. Il formato generale per usare PsExec è questo:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d "C:\Percorso remoto\dell'eseguibile\da lanciare.exe"

In particolare:

\\NomeComputerRemoto: indicate qui il nome del PC remoto sul quale volete eseguire il vostro comando - in alternativa, funziona anche l'indirizzo IP

-u "NomeUtenteRemoto": abbiamo detto prima che è necessario disporre di un account valido sul sistema remoto. Indicate il nome utente sostituendolo a NomeUtenteRemoto

-p "PasswordUtenteRemoto": sostituite a PasswordUtenteRemoto la password associata all'account indicato

"C:\Percorso remoto\dell'eseguibile\da lanciare.exe": sostituite questa stringa con il percorso completo dell'eseguibile che desiderate avviare. Notate che tale file deve già essere presente sul sistema remoto (vedremo in seguito come comportarsi altrimenti)

Nota: i dI doppi apici (") che racchiudono i vari parametri sono fondamentali in caso questi contengano spazi. Consiglio comunque di mantenerli a prescindere.

A titolo di esempio, andrete concretamente a lanciare qualcosa del genere:

psexec.exe \\miopc -u "Gianluigi Zanettini" -p "123456" -i -d "C:\Windows\system32\notepad.exe"

Se tutto va per il verso giusto, sul sistema remoto apparirà il blocco note.

Qualche altro esempio semplice

Aprire la calcolatrice sul PC con indirizzo IP 192.168.0.10: psexec.exe \\192.168.0.10 -u "Gianluigi Zanettini" -p "passwordsegreta" -i -d "C:\Windows\system32\calc.exe"

Mostrare la versione di Windows in uso sul PC del salotto: psexec.exe \\pc-salotto -u "Gianluigi Zanettini" -p "123456" -i -d "C:\Windows\system32\winver.exe"

Aprire Internet Explorer sul computer con il nome di rete "portatile": psexec.exe \\portatile -u "Gianluigi Zanettini" -p "123456" -i -d "C:\Program Files (x86)\Internet Explorer\iexplore.exe"

Lanciare un comando passando parametri (nello specifico: Firefox senza componenti aggiuntivi): psexec.exe \\portatile -u "Gianluigi Zanettini" -p "123456" -i -d "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -safe-mode

Creare un collegamento per agire con un solo click

È evidente che digitare manualmente una stringa così lunga ogni volta che abbiamo bisogno di lanciare un comando remoto finisce per essere frustrante e ben poco pratico sul lungo periodo. La soluzione è quella di creare un collegamento all'invocazione di PsExec.

La procedura è quella già illustrata molte altre volte: click con il pulsante destro del mouse in un'area vuota, Nuovo -> Collegamento. Da qui, inserire l'intero comando di PsExec con tutti i parametri e gli argomenti alla prima pagina della breve procedura guidata, ed un nome a piacere per il collegamento nella seconda.

Vi raccomando di eseguire sempre preventivamente varie prove con PsExec dal prompt di comando, di modo da assicurarvi che tutto funzioni, prima di creare i relativi collegamenti: risulterà così più facile diagnosticare e prevenire i problemi.

Aprire una shell testuale sul sistema remoto

Fino ad ora abbiamo visto come aprire programmi sul sistema remoto senza poi interagirvi (ad esempio, abbiamo aperto il blocco note a schermo ma, poi, non abbiamo digitato testo). PsExec consente però anche di aprire un prompt dei comandi locale nel quale impartire molteplici istruzioni che vengono eseguite dal sistema remoto. Il comando per farlo è simile a questo:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" cmd.exe

In questa circostanza risulta prezioso l'uso di hostname, grazie al quale potremmo visualizzare al volo su quale computer stiamo lavorando

Copiare un programma ed eseguirlo automaticamente

Ora ci siamo "scaldati" lanciando programmi che già erano memorizzati sul disco remoto, possiamo passare al gradino successivo: lanciare un programma che, al momento, è salvato solamente sul PC locale. Si procede in modo analogo a quanto visto fino a poco fa, ma il comando è ora simile a questo:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d -c -f "C:\Percorso locale\dell'eseguibile\da lanciare.exe"

Rispetto a prima, osserviamo che ci sono alcune variazioni nei parametri:

-c -f: il primo indica a PsExec che vogliamo eseguire un programma attualmente memorizzato in locale, che dovrà quindi preventivamente trasferito sulla destinazione. Il secondo sta a significare che vogliamo sovrascrivere eventuali copire preesistenti

"C:\Percorso locale\dell'eseguibile\da lanciare.exe": se prima indicavamo il percorso remoto dell'eseguibile (poiché, appunto, il file era già disponibile sul disco remoto), ora dobbiamo specificare il programma locale che sarà copiato e lanciato.

Se tutto va per il verso giusto, il software in questione verrà aperto come voluto sulla destinazione.

Sappiate però che PsExec memorizza i file trasferiti in questo modo nella cartella C:\Windows del PC remoto, senza mai eliminarli. Bisogna ricordasi quindi di fare un po' di pulizia manualmente! ad esempio, se l'eseguibile che avete copiato e lanciato si chiamava programma.exe, questa chiamata è sufficiente per sbarazzersene:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d -s cmd.exe /C del "C:\Windows\programma.exe" /Q

Si noti qui la presenza del parametro -s, indispensabile per ottenere i massimi privilegi necessari per scrivere nella cartella di sistema.

Installare un programma da remoto

Utilizzando il metodo appena proposto possiamo installare alcuni programmi sui sistemi remoti in modo davvero immediato.

Procuratevi innanzitutto il setup del vostro applicativo preferito (VLC media player, ad esempio) e consultate la documentazione per capire quale parametro passare all'eseguibile per avviare l'installazione automatica silenziosa: si tratta, generalmente, di -s oppure /s o /q.

Salvatelo sul disco locale e, con la stessa tecnica descritta in precedenza, eseguitelo sul PC remoto. Per installare VLC media player, in particolare, si userà un comando simile a questo:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d -c -s -f "C:\Users\NomeUtenteLocale\Downloads\vlc-2.1.5-win32.exe" /S

Dopo pochi istanti di elaborazione, il software dovrebbe essere installato. Per verificarlo, provate ad eseguirlo!

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto"  -i -d "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"

Se tutto funziona, ricordate di eliminare la procedura di setup depositata in C:\Windows come evidenjziato in precedenza.

La tecnica funziona al meglio con le procedure di installazione composte da un singolo file. Con un po' di inventiva, però, è possibile installare anche soluzioni più corpose, come Microsoft Office: la procedura completa prevede di combinare PsExec ad un'installazione "unattended" di Office accessibile via rete.

Ancora più libertà, con Nircmd

Agli utenti intraprendenti, segnalo la possibilità di combinare PsExec con l'interessante utility gratuita Nircmd per compiere alcune operazioni meno immediate. Tanto per citare qualche esempio:

zittire il sistema da remoto:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d -c -s -f "C:\Users\NomeUtenteLocale\Downloads\nircmd.exe" mutesysvolume 1

"spegnere" il monitor:

psexec.exe \\NomeComputerRemoto -u "NomeUtenteRemoto" -p "PasswordUtenteRemoto" -i -d -c -s -f "C:\Users\NomeUtenteLocale\Downloads\nircmd.exe" monitor off

e ancora: regolare il volume, aprire o chiudere il drive CD/DVD, arrestare o riavviare servizi, far dire al computer remoto frasi a piacere e via dicendo. Per maggiori informazioni, vi rimando all'articolo "Nircmd amministra Windows dalla linea di comando": l'unica differenza, rispetto a quanto detto in quella sede, è che l'intera chiamata a Nircmd deve essere inserita come argomento di PsExec così come mostrato nei due esempi precedenti.

Per maggiori informazioni...

PsExec non è un programma complesso, ma prevede ancora numerose opzioni che non ho approfondito in questa sede. Come visto in apertura, è possibile stampare la sintassi completa e tutti i parametri accettati impartendo semplicemente psexec.exe.

In alternativa, la pagina web di riferimento propone le stesse informazioni ed ancora qualche esempio in un formato più accessibile, mentre questa lista di FAQ contiene qualche suggerimento per l'uso in scenari particolari ed evidenzia e soluzioni ad alcuni problemi comuni.

Questo articolo ti è stato utile? Condividilo e aiutaci a crescere!

Guadagna con le criptovalute!

Bitcoin, Ethereum e Litecoin sono il fenomeno del momento!

La video guida di TurboLab.it spiega come cavalcare l'onda delle le criptovalute e guadagnare euro reali dalla nuova tendenza.

» Leggi la guida «

Commenti ()

[ Quando posso commentare? Quando è possibile inserire nuovi commenti?

È necessario eseguire login su TurboLab.it

La discussione sul forum che contiene i commenti NON deve essere stata chiusa dai moderatori

Il forum NON deve essere in manutenzione

L'articolo deve essere stato marcato dall'autore come 'finito'

Un articolo NON-finito è commentabile se ha ricevuto commenti prima che l'autore lo riportasse in stato NON-finito

]

Cerca

Cerca su TurboLab.it dal tuo browser web

Pubblicazioni recenti

Litecoin Cash, guida definitiva: che cos'è, dove si compra, come ottenere monete LCC gratuitamente dal fork

Questa settimana su TLI (17 febbraio 2018)

Guida PCSX2: come giocare a risoluzione full HD (1080p) e schermo intero (fullscreen) ai giochi per PlayStation 2 su PC

Balance: 0 - Così mi hanno rubato tutti gli IOTA (video)

Guida: come configurare i tasti con PCSX2 (emulatore PlayStation 2)

Redirect da HTTP a HTTPS con Apache o Nginx su Ubuntu Server, CentOS o Windows - guida e migliore configurazione webserver pronta all'uso

10 truffe su Bitcoin e criptovalute che devi evitare per guadagnare in sicurezza (video)

Facebook

La community discute

Commenti a "Portafogli per criptovalute: guida a Exodus, il wallet offline multi-valuta"

Commenti a "Come comprare NAV Coin e guadagnare quando lasciamo acceso il PC: guida completa a NAV Coin Core (wallet)"

Commenti a "Android: come creare e ripristinare un backup con ADB"

Commenti a "Come comprare criptovalute alternative: video guida definitiva a Binance"

App per creare Backup completo dello Smartphone

"Musica maestro" la vostra musica preferita (2017)

Commenti a "Fai scomparire le pubblicità online con uBlock Origin"

Alternative a orbit

Nuova versione PrivaZer

Commenti a "Come impostare un limite al numero di tentativi di accesso a Windows per password errata"

google traduttore non funziona offline

[Sicurezza] Nuova versione CCleaner

Commenti a "Guida Linux: come scaricare file da linea di comando con curl e wget (Ubuntu/CentOS)"

[Sicurezza] ESET NOD32 Antivirus Nuova Versione

Commenti a "[guida] Come comprare IOTA (MIOTA), la criptovaluta del futuro: mercato, prezzo e procedura pratica"

Google+

Twitter
Tweets by @TurboLabIt

Per favore, aggiungi TurboLab.it alle eccezioni del tuo Ad Blocker. Siamo un progetto no-profit, e la pubblicità è indispensabile per pagare le spese. Grazie per il tuo "unblock"!

» Approfondisci: TurboLab.it: il nostro piano per la sostenibilità economica

In ogni caso, rispettiamo la tua scelta: se deciderai di non sbloccarci, potrai comunque utilizzare il sito senza alcuna limitazione.

Nascondi avviso per 3 giorni

Novità! Seguici su Telegram:

maggiori informazioni

Guida a PsExec - Lanciare comandi su PC di rete senza installare nulla di Zane è distribuito con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Unported.
Based on a work at https://turbolab.it/reti-1448/guida-psexec-lanciare-comandi-pc-rete-senza-installare-nulla-407.

Vuoi partecipare?

TurboLab.it è un progetto indipendente, totalmente gestito da appassionati di informatica (come te!). Vieni a presentarti e scopri come partecipare.

Altre risorse

Google+

Info tecniche piattaforma

Statistiche

Calendario pubblicazioni

Donazioni

Informativa privacy

© 2012 - Theme by MyThemeShop

Back to Top ↑